
package com.be.beadmin.device.service;

import com.be.beadmin.common.entity.PageEntity;
import com.be.beadmin.device.dto.output.InspectFileEx;
import com.be.beadmin.device.dto.input.InspectFileDto;
import com.be.beadmin.device.dto.input.InspectFileQueryCriteria;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.web.multipart.MultipartFile;

import java.util.Map;
import java.util.List;
import java.io.IOException;
import javax.servlet.http.HttpServletResponse;

/**
* @description 服务接口
* @author zty
* @date 2023-10-12
**/
public interface InspectFileService {

    /**
    * 分页的查询接口
    * @param pageEntity
    * @return
    */
    Page<InspectFileEx> getInspectFileByPage(PageEntity pageEntity);

    /**
    * @param inspectFileDto
    */
    void addInspectFile(InspectFileDto inspectFileDto);

    /**
    * @param inspectFileDto
    */
    void updateInspectFile(InspectFileDto inspectFileDto);

    /**
    * @param id
    */
    void delInspectFile(String id);

    /**
    * 删除多个角色
    * @param ids
    */
    void delInspectFiles (List<String> ids);

    /**
     * 新增附件信息
     * @param inspectitemId
     * @param multipartFile
     * @param fileName
     * @param memo
     * @param bucketName
     */
    void uploadInspectFile(String inspectitemId, MultipartFile[] multipartFile, String fileName, String memo, String bucketName) throws Exception;

    /**
     * @param inspectitemId
     * @return url
     * @throws Exception
     */
    String previewInspectFile(String inspectitemId)throws Exception;

    void downloadInspectFile(String id,HttpServletResponse response)throws Exception;
}